<!DOCTYPE html>
<meta name="viewport" content="width=device-width,initial-scale=1">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<style>

#container {
  width: 200px;
  height: 200px;
  background-color: black;
}

#target {
  position: relative;
  top: 100px;
  width: 100%;
  height: 1px;
  background-color: gray;
}

</style>

<div id="container"><div id="target"></div></div>

<script>

promise_test(async function(t) {
  let intersections = 0;

  const observer = new IntersectionObserver(entries => ++intersections);
  observer.observe(document.getElementById("target"));

  await document.getElementById("container").animate({ transform: 'translate(0, 100px)' }, 1000).finished;
  assert_equals(intersections, 1);
}, "An element that already intersects with the viewport does not trigger the observer callback when animating its transform.");

</script>
